﻿#region Using

using System.Collections.Generic;

using Common.Enums;

using GameCommon.Components;
using GameCommon.Effects;
using GameCommon.ManagerInterfaces;

using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

#endregion

namespace GameCommon.Base
{
    public interface IScreen
    {
        bool IsEnabled { get; }

        ScreenEnum Screen { get; }

        Camera Camera { get; }

        int Layer { get; }

        IList<IEffect> Effects { get; }

        RenderTarget2D ScreenAsTexture { get; }

        void Initialize();

        void LoadContent();

        void Draw(IDrawingManager manager, GameTime gameTime);

        void Update(GameTime gameTime);

        void Dispose();
    }
}